import Cookies from 'js-cookie'

const state = {
    sidebar: {
        opened: Cookies.get('sidebarStatus') ? !!+Cookies.get('sidebarStatus') : true,
        withoutAnimation: false
    },
    device: 'desktop',
    size: Cookies.get('size') || 'medium',
    //tabs:[{name:'tab10',title:'tab测试'},{name:'tab2',title:'tab测试2'},{name:'tab3',title:'tab测试3'}],
    menus:[],
    roles:[],
    dlmc:'',
    yhmc:'',
    cacheList:[],
    theme:Cookies.get('rs-admin-element-theme') || 'theme-default'
}

const mutations = {
    TOGGLE_SIDEBAR: state => {
        state.sidebar.opened = !state.sidebar.opened
        state.sidebar.withoutAnimation = false
        if (state.sidebar.opened) {
            Cookies.set('sidebarStatus', 1)
        } else {
            Cookies.set('sidebarStatus', 0)
        }
    },
    CLOSE_SIDEBAR: (state, withoutAnimation) => {
        Cookies.set('sidebarStatus', 0)
        state.sidebar.opened = false
        state.sidebar.withoutAnimation = withoutAnimation
    },
    TOGGLE_DEVICE: (state, device) => {
        state.device = device
    },
    SET_SIZE: (state, size) => {
        state.size = size
        Cookies.set('size', size)
    },
    SET_MENUS: (state, menus) => {
        state.menus = menus;
    },
    SET_THEME:(state,theme) =>{
        state.theme = theme
        Cookies.set('rs-admin-element-theme', theme)
    },
    setAuthInfo:(state,authInfo) =>{
        state.menus = authInfo.menus;
        state.roles = authInfo.roles;
        state.dlmc = authInfo.dlmc;
        state.yhmc = authInfo.yhmc;
    }
}
  
const actions = {
    toggleSideBar({ commit }) {
        commit('TOGGLE_SIDEBAR')
    },
    closeSideBar({ commit }, { withoutAnimation }) {
        commit('CLOSE_SIDEBAR', withoutAnimation)
    },
    toggleDevice({ commit }, device) {
        commit('TOGGLE_DEVICE', device)
    },
    setSize({ commit }, size) {
        commit('SET_SIZE', size)
    },
    setTheme({commit},theme){
        commit('SET_THEME', theme)
    }
}

export default {
    namespaced: true,
    state,
    actions,
    mutations
}